// components/tabs/index.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    // Number 类型的特点：
    //  会自动转换成 number 类型
    //  prop数据会自动存放到 data 中
    min: Number,
    max: {
      type: Number,
      value: 200, // 默认值
    },
    list: {
      type: Array,    // 必须，类型
      optionalTypes: [String, Number],  // 额外支持的类型
      value: [4,5,6], // 默认值
      observer: (newVal, oldVal) => {
        // 监听，这玩意不推荐使用了。推荐直接在组件上使用 observers 选项
        console.log('list observer', newVal, oldVal)
      }
    },
  },

  observers: {
    list: (newVal, oldVal) => {
      console.log('list 改变了', newVal, oldVal)
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    name: "我的天"
  },

  /**
   * 组件的方法列表
   */
  methods: {
    changeName() {
      this.setData({
        name: 'hello',
        // 不要在组件内部操作修改props数据，会造出数据流向不明确
        min: 500
      })
    }
  },  

  attached() {
    console.log('Tabs this', this)
  }
})
